// 知识点1：栈展开的过程中对象会被自动销毁（所在块中创建的对象），若是类类型，该对象的析构函数将会自动执行

// 知识点2：析构函数总会执行，但是函数中负责释放资源的代码可能会被跳过（异常发生在负责释放资源的代码之前），但是类分配的对象无论函数正常结束还是遭遇异常，通过析构函数其资源都能够被正常释放（由于是自动执行的，所以析构函数中不应该抛出异常）

// 答案：发生异常，所在块之前的临时变量皆会被销毁，V会调用vector类的析构函数进行销毁，并释放相关内存，P指针会被销毁，但是P指针指向的内存由于是动态分配的，所以该内存不会被释放，造成内存泄漏。输入流对象会调用ifstream类的析构函数销毁，最后程序被终止
